/**
  ******************************************************************************
  * @文件名           : bsp_usart.h
  * @作者             : citunhk
  * @功能介绍         : USART的RS485控制引脚宏定义，串口配置及发送驱动
  *	@日期             : 2022.10.31
  ******************************************************************************
  * @注意
  *
  * 本文件中不应调用上层文件
  *
  ******************************************************************************
  *更改记录
  *日期 修改人 修改内容
  *
  *
  *
  ******************************************************************************
  */
#ifndef __BSP_USART_H
#define __BSP_USART_H

#include "stm32g0xx_ll_usart.h"
#include "stm32g0xx_ll_gpio.h"

#define RS485_R_T2_Pin LL_GPIO_PIN_3  //主机
#define RS485_R_T2_GPIO_Port GPIOB

#define RS485_R_T3_Pin LL_GPIO_PIN_1  //从机
#define RS485_R_T3_GPIO_Port GPIOB

#define RS232_SLAVER_DMARX_NUM 200
#define RS485_MASTER_DMARX_NUM 200
#define RS485_SLAVER_DMARX_NUM 200

enum
{
	RS485_Master_Rx=0,
	RS485_Master_Tx
};

enum
{
	RS485_Slaver_Rx=0,
	RS485_Slaver_Tx
};

extern uint8_t gUSART1_DMARx_HMI_buffer[RS232_SLAVER_DMARX_NUM];  //HMI DMA缓冲数组
extern uint8_t gUSART2_DMARx_Master_buffer[RS485_MASTER_DMARX_NUM];  //主机 DMA缓冲数组
extern uint8_t gUSART3_DMARx_Slaver_buffer[RS485_SLAVER_DMARX_NUM];  //从机 DMA缓冲数组

void USART1_Config(void);
void USART2_Config(void);
void USART3_Config(void);
void USART3_Config_BaudRate(uint8_t mode);
void USART3_Config_Switch(uint8_t mode, uint32_t baudRate);
void BSP_Usart_SendU8(USART_TypeDef *USARTx,uint8_t *sendBuf,uint16_t Size);
void BSP_RS485_Master(uint8_t TxEnable);
void BSP_RS485_Slaver(uint8_t TxEnable);

#endif
/**************** (C) COPYRIGHT EdwardYang *************END OF FILE****/
